package com.pur.zsms.financing.service;

import java.io.IOException;
import java.lang.reflect.InvocationTargetException;
import java.util.List;

import javax.annotation.Resource;

import com.pur.zsms.check.vo.CheckVo;
import com.pur.zsms.common.exception.GenericException;
import com.pur.zsms.common.support.PageController;
import com.pur.zsms.common.support.PaginationSupport;
import com.pur.zsms.cost.po.CostPo;
import com.pur.zsms.cost.po.CostSubPo;
import com.pur.zsms.financing.vo.FinancingDetailVo;
import com.pur.zsms.financing.vo.FinancingManagerVo;
import com.pur.zsms.financing.vo.FinancingVo;
import com.pur.zsms.financing.vo.PictureVo;
import com.pur.zsms.matermanage.mater.po.MaterLevelPo;
import com.pur.zsms.matermanage.mater.vo.MaterVo;
import com.pur.zsms.ordercustommanage.po.OrderSupplierMaterPo;
import com.pur.zsms.ordercustommanage.vo.OrderCustVo;
import com.pur.zsms.pmsnmanage.user.dao.IUserDao;
import com.pur.zsms.supplier.po.SupplierPo;
import com.pur.zsms.supplier.vo.ShopSupplierVo;
import com.pur.zsms.supplier.vo.SupplierVo;
import com.pur.zsms.systemsetting.datadictionary.po.Code;
import com.pur.zsms.systemsetting.datadictionary.vo.CodeVo;
import com.pur.zsms.turnover.po.TurnoverPo;
import com.pur.zsms.turnover.po.TurnoverSubPo;
import com.pur.zsms.turnover.vo.TurnoverVo;

public interface IFinancingService {

	String msg = "";

	public String getMsg();

	public void setMsg(String msg);

	public PaginationSupport listFinancingList(PageController pageController, FinancingVo tFinancingVo) throws GenericException;

	public PaginationSupport auditFinancingList(PageController pageController, FinancingVo tFinancingVo) throws GenericException;

	public TurnoverPo getTurnoverPo(FinancingVo financingVo) throws GenericException;

	public CostPo getCostPo(FinancingVo financingVo) throws GenericException;

	public CostSubPo setPictureCost(PictureVo pictureVo, CostSubPo tCostSubPo, String filePath) throws GenericException, SecurityException,
			NoSuchMethodException, IllegalArgumentException, IllegalAccessException, InvocationTargetException, IOException;

	public TurnoverPo getTurnoverPoByDateAndCustId(FinancingVo financingVo) throws GenericException;

	public CostPo getCostPoByDateAndCustId(FinancingVo financingVo) throws GenericException;

	public void deleteFinancing(FinancingVo financingVo) throws GenericException;

	public String getSelectMaterConcentration(FinancingManagerVo financingManagerVo) throws GenericException;

	public String getSelectMaterSelf(FinancingManagerVo financingManagerVo) throws GenericException;

	public String getCostAllValue(FinancingManagerVo financingManagerVo) throws GenericException;

	public String getTurnoverAllValue(FinancingManagerVo financingManagerVo) throws GenericException;

	public List<Object[]> getUserIdAndUserName(String custId);

	public String getCostAllValueGroupByCostType(FinancingManagerVo financingManagerVo) throws GenericException;

	public String getTurnoverAllValueGroupByTurnoverType(FinancingManagerVo financingManagerVo) throws GenericException;

	public void auditFinancing(FinancingVo financingVo) throws GenericException;

	public PaginationSupport findSelectMaterConcentrationDetail(PageController pageController, FinancingDetailVo tFinancingDetailVo)
			throws GenericException;

}
